草庐IT

security - Websockets、socket.io、nodejs 和安全性

全部标签

javascript - 套接字挂断错误与nodejs

我想为一些我不是管理员的XYZ服务器设置代理。然后我想对请求和响应header进行一些分析,然后对请求和响应主体进行分析。所以我正在使用http-proxyhttps://github.com/nodejitsu/node-http-proxy这就是我正在做的:varproxy=httpProxy.createProxyServer();connect.createServer(connect.bodyParser(),require('connect-restreamer')(),function(req,res){proxy.web(req,res,{target:'XYZserv

第142篇 合约安全-重入锁

本篇介绍最常见的一种智能合约攻击-重入攻击,它曾导致以太坊分叉为ETH和ETC(以太经典),并介绍如何避免它。1.重入攻击重入攻击是智能合约中最常见的一种攻击,攻击者通过合约漏洞(例如fallback函数)循环调用合约,将合约中资产转走或铸造大量代币。著名的重入攻击事件:2016年,TheDAO合约被重入攻击,黑客盗走了合约中的3,600,000枚 ETH,并导致以太坊分叉为 ETH 链和 ETC(以太经典)链。距离TheDAO被重入攻击已经6年了,但每年还是会有几次因重入漏洞而损失千万美元的项目,因此理解这个漏洞非常重要。0xAA 抢bank的故事为了让大家更好理解,这里讲一个"黑客0xAA

javascript - NodeJS 使用 mock-fs 测试 writeFile

例如,我有以下文件:spec/config/file-mock.jsvarmock=require('mock-fs');mock({'files':{'expense.csv':'a;b;c;d\n1;2;3;4\n5;6;7;8'}});app/reader/reader.jsvarfs=require('fs');varreader={read:function(path){returnfs.readFileSync(path,'utf8');},write:function(path,object){fs.writeFileSync(path,object);}};module

javascript - 在 JavaScript(NodeJs) 中调用对象内部的函数名称的区别

这个问题在这里已经有了答案:Whydoes`obj.foo=function(){};`notassignthename`foo`tothefunction?(3个答案)关闭4年前。假设我有2个对象x和y。详情写在下面的代码中。letx={publish:function(){console.log(this.publish.name);}};lety={};y.publish=function(){console.log(this.publish.name);};x.publish();y.publish();我在调用x.publish()和y.publish()时发现输出有所不同。

javascript - 通过 nodejs 重新附加到生成的进程

我正在用Node.js创建一个小型的专有游戏服务器管理器;目前它通过child_process生成来运行游戏:varserver=spawn(cmd,args,{cwd:'something'});只要管理器继续运行,我就可以通过管道传输命令并按照我的意愿处理child。但是,请考虑我的管理器崩溃或关闭的可能性。然后我如何重新附加到之前生成的子进程(当管理器关闭时它仍在运行)?我可以存储pid文件以尝试基于pid重新连接;但我不确定如何获得一个可以访问child的stdio对象的child_process对象。我真的希望这是可以恢复的;感谢任何帮助,谢谢!请注意:游戏服务器是专有的,例

javascript - 使用 transportCredentialOnly 安全性对 RESTful WCF 服务的跨域 Ajax JSON POST 支持

我之前就这个主题发表过帖子,但经过一年的其他事情,我再次设法陷入困境。我将尝试简要概述该场景以及当前使工作正常进行的尝试:在主机上托管HTML、JS等的IISWeb服务器:iis.mycompany.com(简称foo)通过主机上的Windows服务托管的WCFRESTfulWeb服务:wcf.mycompany.com(简称bar)从foo提供的Javascript通过对bar上的WCF服务进行RESTfulajax调用(GET或POST,取决于操作)来工作,显然这些是跨域调用,因为它们不在同一主机上。Javascript使用jQuery(1.7.2)框架来操作DOM并执行对bar(

javascript - 使用 JavaScript API 的 Parse 中的对象安全性 - 将用户绑定(bind)到保存的对象

在Parse中管理实体时,我需要将许多对象绑定(bind)到当前登录的用户。我的担忧是:没有后端代码确保传入的User是当前登录的用户。用户可以将任何新创建的对象分配给其他用户。他们有thisexampleTODOapp在thedocumentation中未显示云代码以确保Todo分配给的User是当前登录的用户。现在我浏览了thecode我开始认为,无论何时保存一个对象,它都会与用户相关联。谁能解释为什么这个应用程序工作以及它如何将Todo与User相关联?更新:没关系,我在他们的代码中找到了指定用户保存待办事项的位置。我的问题是,是什么阻止用户编写使用其他用户ID保存待办事项的代码

javascript - socket.io 的断开、关闭和销毁方法之间的区别

我正在使用node.js开发一个简单的聊天应用程序&socket.io.我正在尝试终止连接,例如,当用户选择离开命名空间时,或类似于注销的操作,这不会退出应用程序或触发重新加载。我已经检查了这个问题@GitHub,还有这些问题,Node.js:socket.iocloseclientconnectionClosingasocketserversideonsocket.io?Howtocloseasocket.ioconnection他们建议使用不同的方法,例如disconnect、close等根据我自己的实验,disconnect、close方法都将套接字的connected属性设置为

javascript - nodejs View 不在布局中呈现

我正在尝试使用CoffeeScript、NodeJS和expressJS创建一个简单的布局。我的CoffeeScript是routes.coffee我已将routes文件夹重命名为apps,我的routes.coffee文件位于身份验证文件夹中,即apps\authentication\routes.coffeeroutes=(app)->app.get"/login",(req,res)->res.render"#{__dirname}/views/login",title:'Login',stylesheet:'login'module.exports=routes登录View我已

javascript - 带有 proxytable 和 websockets 的 Node http 代理

我正在尝试让websockets也与node-http-proxy一起工作。不同之处在于我使用的是代理表:varoptions={router:{'a.websterten.com':'127.0.0.1:150','b.websterten.com':'127.0.0.1:151',}};varserver=httpProxy.createServer(options);我试过:server.on('upgrade',function(req,socket,head){server.proxy.proxyWebSocketRequest(req,socket,head);});但是好